<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<p:dialog id="dialogCadastro" modal="true" width="50%" position="top"
	appendTo="@(body)" closable="false" resizable="true" draggable="true"
	widgetVar="dialogCadastroAgendamento" header="Agendamento">
	<p:ajax event="close" listener="#{agendamentoMB.close}"
		update="frmDialogAgendamento" />
	<h:form id="frmDialogAgendamento">

		<h:panelGrid columns="2">

			<p:outputLabel value="Ficha:"></p:outputLabel>
			<p:inputText value="#{agendamentoMB.agendamentoSelecionado.codigo}"
				disabled="true"></p:inputText>

			<p:outputLabel value="Cliente:" for="selectcliente"></p:outputLabel>
			<p:selectOneMenu
				value="#{agendamentoMB.agendamentoSelecionado.cliente}"
				required="true" id="selectcliente" filter="true" style="width:200px"
				disabled="#{not agendamentoMB.incluindo}"
				converter="clienteConverter">
				<f:selectItem itemLabel="" itemValue="#{null}"></f:selectItem>
				<f:selectItems value="#{agendamentoMB.listaCliente}" var="cliente"
					itemLabel="#{cliente.dadosCadastro.nome}" itemValue="#{cliente}"></f:selectItems>
				<p:ajax event="change"
					listener="#{agendamentoMB.preencherListaAnimal}"
					update="selectanimal"></p:ajax>
			</p:selectOneMenu>

			<p:outputLabel value="Animal:" for="selectanimal"></p:outputLabel>
			<p:selectOneMenu
				value="#{agendamentoMB.agendamentoSelecionado.animal}"
				required="true" id="selectanimal" filter="true" style="width:200px"
				disabled="#{not agendamentoMB.incluindo}"
				converter="animalConverter">
				<f:selectItem itemLabel="" itemValue="#{null}"></f:selectItem>
				<f:selectItems value="#{agendamentoMB.listaAnimal}" var="animal"
					itemLabel="#{animal.nomeAnimal}" itemValue="#{animal}"></f:selectItems>
			</p:selectOneMenu>


			<p:outputLabel value="Tipo:" for="selecttipoagend"></p:outputLabel>
			<p:selectOneMenu style="width:200px"
				value="#{agendamentoMB.agendamentoSelecionado.tipoAgendamento}"
				required="true" id="selecttipoagend" filter="true"
				disabled="#{agendamentoMB.consultando}">
				<f:selectItem itemLabel="" itemValue="#{null}"></f:selectItem>
				<f:selectItems value="#{agendamentoMB.listaTipoAgendamento}"
					var="tipo" itemLabel="#{tipo.descricao}" itemValue="#{tipo}"></f:selectItems>
				<p:ajax event="change"
					listener="#{agendamentoMB.preencherListaServico}" 
					update="outpnlexame"></p:ajax>
			</p:selectOneMenu>

			<p:outputLabel value="Médico:" for="selectmedico"></p:outputLabel>
			<p:selectOneMenu style="width:200px"
				value="#{agendamentoMB.agendamentoSelecionado.funcionario}"
				required="true" id="selectmedico" filter="true"
				converter="funcionarioConverter"
				disabled="#{agendamentoMB.consultando}">
				<f:selectItem itemLabel="" itemValue="#{null}"></f:selectItem>
				<f:selectItems value="#{agendamentoMB.listaMedico}" var="medico"
					itemLabel="#{medico.dadosCadastro.nome}" itemValue="#{medico}"></f:selectItems>

			</p:selectOneMenu>

			<p:outputLabel value="Data Marcada:" for="datamarc"></p:outputLabel>
			<p:inputMask id="datamarc"
				value="#{agendamentoMB.agendamentoSelecionado.dataMarcada}"
				required="true" requiredMessage="Data de Marcação é obrigatória!"
				disabled="#{agendamentoMB.consultando}" mask="99/99/9999">
				<f:convertDateTime pattern="dd/MM/yyyy" timeZone="GMT-3" />
			</p:inputMask>

			<p:outputLabel value="Hora Marcada:" for="datamarc"></p:outputLabel>
			<p:inputMask id="horamarc"
				value="#{agendamentoMB.agendamentoSelecionado.horaMarcada}"
				required="true" requiredMessage="Hora Marcada é obrigatória!"
				disabled="#{agendamentoMB.consultando}" mask="99:99"
				converter="horaConverter">

			</p:inputMask>
		</h:panelGrid>

		<p:outputPanel id="outpnlexame">
			<h:panelGrid columns="2"
				rendered="#{agendamentoMB.verificarPossuiServico()}" style=" width : 330px;">

				<p:outputLabel value="Servico:" for="selectservico"></p:outputLabel>
				<p:selectOneMenu style="width:200px"
					value="#{agendamentoMB.agendamentoSelecionado.marcacaoConsulta.servico}"
					required="true" id="selectservico" filter="true"
					requiredMessage="Selecione um Serviço!"
					disabled="#{not agendamentoMB.incluindo}"
					converter="servicoConverter">
					
					<f:selectItems value="#{agendamentoMB.listaServico}" var="servico"
						itemLabel="#{servico.descServico}" itemValue="#{servico}"></f:selectItems>
				</p:selectOneMenu>
			</h:panelGrid>
			<h:panelGrid columns="2">
				<h:panelGrid columns="2"
					rendered="#{agendamentoMB.incluindo and agendamentoMB.possuiExame}">
					<p:outputLabel value="Tipo Exame:"></p:outputLabel>
					<p:selectOneMenu style="width:200px"
						value="#{agendamentoMB.agendamentoSelecionado.marcacaoExame.exame.tipoExame}"
						id="selecttipoexame" filter="true" converter="tipoExameConverter">
						<f:selectItem value="#{null}" itemLabel=""></f:selectItem>
						<f:selectItems value="#{agendamentoMB.listaTipoExame}"
							var="tipoExame" itemLabel="#{tipoExame.descricao}"
							itemValue="#{tipoExame}"></f:selectItems>
						<p:ajax event="change"
							listener="#{agendamentoMB.preencheListaExame}" update="pnlexame"></p:ajax>
					</p:selectOneMenu>
				</h:panelGrid>

				<p:outputPanel id="pnlexame">
					<h:panelGrid columns="2" rendered="#{agendamentoMB.possuiExame}">
						<p:outputLabel value="Exame:"
							for="selectexame"></p:outputLabel>
						<p:selectOneMenu 
							value="#{agendamentoMB.agendamentoSelecionado.marcacaoExame.exame}"
							style="width:200px" disabled="#{agendamentoMB.consultando}"
							id="selectexame" filter="true" converter="exameConverter">
							<f:selectItem itemLabel="" itemValue="#{null}"></f:selectItem>
							<f:selectItems value="#{agendamentoMB.listaExame}" var="exame"
								itemLabel="#{exame.descricao}" itemValue="#{exame}"></f:selectItems>

						</p:selectOneMenu>
					</h:panelGrid>
				</p:outputPanel>
			</h:panelGrid>
		</p:outputPanel>
		<h:panelGrid columns="2">
			<p:outputLabel value="Status:" for="selecttipoagend"></p:outputLabel>
			<p:selectOneMenu
				value="#{agendamentoMB.agendamentoSelecionado.statusAgendamento}"
				required="true" id="selectstatusagend" filter="true"
				style="width:200px"
				disabled="#{agendamentoMB.consultando or agendamentoMB.incluindo}">
				<f:selectItems value="#{agendamentoMB.listaStatusAgendamento}"
					var="tipo" itemLabel="#{tipo.descricao}" itemValue="#{tipo}"></f:selectItems>
			</p:selectOneMenu>

			<p:outputLabel value="Observação:"></p:outputLabel>

			<p:inputTextarea id="iptobservacao" onfocus="iptobservacao"
				style="width:200px"
				value="#{agendamentoMB.agendamentoSelecionado.observacao}"
				disabled="#{agendamentoMB.consultando}" maxlength="200"></p:inputTextarea>

		</h:panelGrid>

		<h:panelGrid columns="2" style="border:0px">
			<p:commandButton value="Confirma"
				actionListener="#{agendamentoMB.salvar}"
				rendered="#{not agendamentoMB.consultando}"
				update=":frmTab:tabela,:mensagem" ajax="true"
				oncomplete="validaDialog(args,'dialogCadastroAgendamento','frmDialogAgendamento:dialogCadastro')" />


			<p:commandButton value="Cancela"
				onclick="dialogCadastroAgendamento.hide()" immediate="true" />
		</h:panelGrid>
	</h:form>
</p:dialog>

</html>